<?
error_reporting(E_ERROR);
session_start();
require_once('../modelo/SeguridadUsuario.php');

if($_POST["controlador"]==null){
    echo json_encode(array("ERROR"=>"Por favor Indicar el nombre del controlador Destino en el formulario para evitar conflictos con el 'Ruteo' de PHP."));
    return;
}elseif($_POST["controlador"]<>"SeguridadUsuario"){
    return;
}

if ($_POST["OPERACION"] == "delete"){
    $id=$_POST["id"];
    $codUsuario=$_SESSION["SESSION_codUsuario"];
    echo SeguridadUsuario::delete($codUsuario,$id);
}
elseif ($_POST["OPERACION"] == "insert"){
    
    //--- valido el password
    if(trim($_POST['password'])!==trim($_POST['password2'])){
        echo json_encode(array("ERROR"=>"Los Passwords NO coinciden, verifique"));        
        exit();
    }elseif(trim($_POST['password'])===""){
        echo json_encode(array("ERROR"=>"Debe digitar el Password del Usuario"));
        exit();
    }
    
    $codUsuario=$_POST["codUsuario"];
    $nombreUsuario=$_POST["nombreUsuario"];
    $login=$_POST["login"];
    $password=strtoupper(MD5($_POST['password'].strtoupper($_POST['login']))); //$_POST["password"];
    $activo=( $_POST["activo"]==="on" ? true : false );            
    echo SeguridadUsuario::insert($codUsuario,$activo,$codUsuario,$nombreUsuario,$login,$password);
}
elseif ($_POST["OPERACION"] == "update"){
    //--- valido el password
    if(trim($_POST['password'])!=="" || trim($_POST['password2'])!==""){
        if(trim($_POST['password'])!==trim($_POST['password2'])){
            echo json_encode(array("ERROR"=>"Los Passwords NO coinciden, verifique"));        
            exit();
        }
    }    
    
    $id=$_POST["id"];            
    $codUsuario=$_POST["codUsuario"];
    $nombreUsuario=$_POST["nombreUsuario"];
    $login=$_POST["login"];
    $password=($_POST['password']!=="" ? strtoupper(MD5($_POST['password'].strtoupper($_POST['login']))) : "" );
    $activo=( $_POST["activo"]==="on" ? true : false );            
    echo SeguridadUsuario::update($codUsuario,$id,$activo,$codUsuario,$nombreUsuario,$login,$password);
}
elseif ($_POST["OPERACION"] == "selectById"){
    $id=$_POST["id"];
    echo SeguridadUsuario::selectById($id);
}
elseif ($_POST["OPERACION"] == "selectAllHTMLTableFormat"){
    $numPagina=(!isset($_POST["numPagina"]) ? 0 : $_POST["numPagina"] );
    $registrosPorPagina=(!isset($_POST["registrosPorPagina"]) ? -1 : $_POST["registrosPorPagina"] );
    $campoFiltroOrden=(!isset($_POST["campoFiltroOrden"]) ? "" : $_POST["campoFiltroOrden"] );
    $valorFiltro=(!isset($_POST["valorFiltro"]) ? "" : $_POST["valorFiltro"] );
    
    $usuarioGrab=$_SESSION["SESSION_codUsuario"];
    echo SeguridadUsuario::selectAllHTMLTableFormat($numPagina,$registrosPorPagina,$campoFiltroOrden,$valorFiltro,$usuarioGrab);
}
elseif ($_POST["OPERACION"] == "selectAllHTMLSelectFormat"){
    echo SeguridadUsuario::selectAllHTMLSelectFormat();
}
elseif ($_POST["OPERACION"] == "selectSupervisoresHTMLSelectFormat"){
    echo SeguridadUsuario::selectSupervisoresHTMLSelectFormat();
}
elseif ($_POST["OPERACION"] == "selectEstibadoresHTMLSelectFormat"){
    echo SeguridadUsuario::selectEstibadoresHTMLSelectFormat();
}
elseif ($_POST["OPERACION"] == "login"){
    $host=php_uname('n');  //--- nombre del PC cliente
    $login=strtoupper($_POST["login"]);
    $password=strtoupper(MD5($_POST['password'].strtoupper($_POST['login']))); //$_POST["password"];
    $result=SeguridadUsuario::login($host,$login,$password);
    if($result==null){
        echo json_encode(array("ERROR"=>"No se pudo iniciar sesion, verifique"));
    }else if(is_string($result)){
        echo json_encode(array("ERROR"=>$result));                
    }else if(gettype($result)=="object"){
        $_SESSION['SESSION_sessionId'] = session_id();
        $_SESSION["SESSION_id"] = $result->getId();
        $_SESSION["SESSION_activo"] = $result->getActivo();
        $_SESSION["SESSION_codUsuario"] = $result->getCodUsuario();
        $_SESSION["SESSION_login"] = $result->getLogin();
        $_SESSION["SESSION_nombreUsuario"] = $result->getNombreUsuario();
        echo json_encode("");
    }
}
elseif ($_POST["OPERACION"] == "logout"){
    session_unset(); //destroys variables
    session_destroy(); // destruye la sesion
    echo json_encode("");
}
?>